<?php
class CategoryModel extends Model{
	public $table='category';
	//自动验证
	public $validate=array(
		array('catname','nonull','栏目不能为空',2,3),
		array('catname','checkCatName','栏目已存在',2,3),
	);
	//验证栏目是不是存在
	public function checkCatName($name,$value,$msg,$arg)
	{
		$data=M('category')->where("catname='$value'")->find();
		if ($cid=Q('cid')) {//编辑
			return empty($data)||$data['cid']==$cid?true:$msg;
		}else{//添加栏目
			return $data?$msg:true;
		}
	}
	//获得栏目列表
	public function getList(){
		$data =$this->all();
		//获得树状栏目(父子级关系)
		return Data::tree($data,'catname','cid','pid');
	}
	//添加栏目
	public function addCategory(){
		if($this->create()){
			if($this->add()){
				return true;
			}else{
				$this->error='栏目 添加失败';
			}	
		}
	}
	//编辑栏目
	public function editCategory()
	{
		if ($this->create()) {
			if ($this->save()) {
				return true;
			}else{
				$this->error='栏目编辑失败';
			}
		}
	}

	//删除栏目
	public function deleteCategory($cid)
	{
		//获得子栏目
		$sChannel= Data::channelList($this->all(),$cid);
		$categoryData=array_keys($sChannel);
		//将当前的栏目压入
		$categoryData[]=$cid;
		//删除文章
		$map['cid']=array('IN',$categoryData);
		M('content')->where($map)->del();
		//DELETE FROM content where cid IN(1,2,3,3);
		//删除栏目
		return $this->where($map)->del();
	}
	
}